package 牛客_面试必刷.Month07.day10;

import java.util.ArrayList;
import java.util.List;

public class 判断是不是二叉搜索树 {
    int min = Integer.MIN_VALUE;
    public boolean isValidBST (TreeNode root) {
        // write code here
        if(root == null) return true;
        //先判断左子树
        if(!isValidBST(root.left)) return false;

        if(min > root.val){
            return false;
        }else{
            min = root.val;
        }
        //再判断右子树
        if(!isValidBST(root.right)) return false;
        return true;
    }

//    List<Integer> list = new ArrayList<>();
//    public boolean isValidBST (TreeNode root) {
//        // write code here
//        inOrder(root);
//        for (int i = 1; i < list.size(); i++) {
//            if(list.get(i - 1) >= list.get(i)) return false;
//        }
//        return true;
//    }
//
//    public void inOrder(TreeNode root){
//        if(root == null) return;
//        inOrder(root.left);
//        list.add(root.val);
//        inOrder(root.right);
//    }
}
